home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
SICE-DOC.ZIP
/
DOC-TXT.ZIP
/
APPENDIX
< prev
next >
Wrap
Text File
|
1992-05-24
|
28KB
|
695 lines
APPENDIX A
FUNCTIONAL COMMAND LIST
Command Description Page
Setting break points :
BPM Set break point on memory access or
execution 54
BPR Set break point on memory range 57
BPIO Set break point on I/O port access 59
BPINT Set break point on interrupt 61
BPX Set/clear break point on execution 63
CSIP Set CS:IP range qualifier 64
BPAND Wait for multiple break points to occur 65
Manipulating break points :
BD Disable break points 68
BE Enable break points 69
BL List break points 70
BPE Edit break point 71
BPT Use break point as a template 72
BC Clear break points 73
Display and edit commands:
U Unassemble instructions 77
R Display or change register 79
MAP Display system memory map 81
D Display memory 83
E Edit memory 84
INT? Display last interrupt number 86
? or H Display help information 87
VER Display Soft-ICE version number 88
I/O port commands:
I Input from I/O port 90
O Output to I/O port 91
233
Command Description Page
Transfer control commands:
X Exit from Soft-ICE window 93
G Go to address 94
T Trace one instruction 95
P Program step 96
HERE Go to current cursor line 97
GENINT Force an interrupt 98
EXIT Force exit of current DOS program 99
BOOT System boot (retain Soft-ICE) 101
HBOOT Hard system boot (total reset) 102
Debug mode commands:
ACTION Set action after break point is reached 104
W Set DOS/ROM BIOS re-entrancy 106
warning mode
BREAK Break out any time 107
13HERE Direct Interrupt 3's to Soft-ICE 108
Utility commands :
A Assemble code 110
S Search for data 112
F Fill memory with data 113
M Move data 114
C Compare two data blocks 115
Specialized Debugging Commands:
SHOW Display instructions from history buffer 117
TRACE Enter trace simulation mode 119
XT Single step in trace simulation mode 121
XP Program step in trace simulation mode 122
XG Go to address in trace simulation mode 123
XRSET Resets back trace history buffer 124
VECS Save/restore/compare interrupt vectors 125
SNAP Take snap shot of memory block 127
EMMMAP Display EMM allocation map 129
234
Command Description Page
Windowing Commands:
WR Toggle register window 131
WC Toggle/set size of code window 132
WD Toggle/set size of data window 133
EC Enter/exit code window 134
. Locate current instruction 136
Debugger Customization Commands:
PAUSE Pause after each screen 138
ALTKEY Set alternate key sequence to 139
invoke Soft-ICE
FKEY Show and edit function keys 141
BASE Set/display current radix 144
CTPP Toggle log session to printer 145
Print-Screen Print contents of screen 146
PRN Set printer output port 147
Screen Control Commands :
FLASH Restore screen during P and T 149
FLICK Screen flicker reduction 150
WATCHV Set watch video mode 152
RS Restore program screen 153
CLS Clear window 154
ALTSCR Change to alternate screen 155
WIN Change size of Soft-ICE window 156
Symbol and Source Line Commands:
SYM Display/set symbol 159
SYMLOC Relocate symbol base 161
SRC Toggle between source, mixed 162
and code
FILE Change/display current source file 163
SS Search current source file for string 164
235
Page 236 is BLANK
236
APPENDIX B
ALPHABETIC COMMAND LIST
Command Description Page
. Locate current instruction 136
? or H Display help information 87
A Assemble code 110
ACTION Set action after break point is reached 104
ALTKEY Set alternate key sequence to
invoke Soft-ICE 139
ALTSCR Change to alternate screen 155
BASE Set/display current radix 144
BC Clear break points 73
BD Disable break points 68
BE Enable break points 69
BL List break points 70
BOOT System boot (retain Soft-ICE) 101
BPAND Wait for multiple break points to occur 65
BPE Edit break point 71
BPINT Set break point on interrupt 61
BPIO Set break point on I/O port access 59
BPM Set break point on memory access or
execution 54
BPR Set break point on memory range 57
BPT Use break point as a template 72
BPX Set/clear break point on execution 63
BREAK Break out any time 107
C Compare two data blocks 115
CLS Clear window 154
CSIP Set CS:IP range qualifier 64
CTRL-P Toggle log session to printer 145
D Display memory 83
E Edit memory 84
EC Enter/exit code window 134
EMMMAP Display EMM allocation map 129
EXIT Force exit of current DOS program 99
F Fill memory with data 113
FILE Change/display current source file 163
237
Command Description Page
FKEY Show and edit function keys 141
FLASH Restore screen during P and T 149
FLICK Screen flicker reduction 150
G Go to address 94
GENINT Force an interrupt 98
HBOOT Hard system boot (total reset) 102
HERE Go to current cursor line 97
I Input from I/O port 90
13HERE Direct Interrupt 3's to Soft-ICE 108
INT? Display last interrupt number 86
M Move data 114
MAP Display system memory map 81
O Output to I/O port 91
P Program step 96
PAUSE Pause after each screen 138
Print-Screen Print contents of screen 146
PRN Set printer output port 147
R Display or change register 79
RS Restore program screen 153
S Search for data 112
SHOW Display instructions from history buffer 117
SNAP Take snap shot of memory block 127
SRC Toggle between source, mixed
and code 162
SS Search current source file for string 164
SYM Display/set symbol 159
SYMLOC Relocate symbol base 161
T Trace one instruction 95
TRACE Enter trace simulation mode 119
U Unassemble instructions 77
VECS Save/restore/compare interrupt vectors 125
VER Display Soft-ICE version number 88
WARN Set DOS/ROM BIOS re-entrancy
warning mode 106
WATCHV Set watch video mode 152
WC Toggle/set size of code window 132
WD Toggle/set size of data window 133
WIN Change size of Soft-ICE window 156
238
WR Toggle register window
Command Description Page
X Exit from Soft-ICE window 93
XG Go to address in trace simulation mode 123
XP Program step in trace simulation mode 122
XRSET Reset back trace history buffer 124
XT Single step in trace simulation mode 121
239
Page 240 is BLANK
240
APPENDIX C
KEYSTROKE FUNCTION LIST
Keystroke Description
Moving the Soft-ICE window:
CTRL Move window one row up
CTRL Move window one row down
CTRL Move window one row right
CTRL Move window one row left
Resizing the Soft-ICE window:
ALT Expand the window
CTRL Shrink the window
Editing the Command Line:
Move the cursor to the right
Move the cursor to the left
INS Toggle insert mode
DEL Delete current character
HOME Move cursor to the start of the line
END Move cursor to the end of the line
Display the previous command
Display the next command
SHIFT Scroll one line up in display
SHIFT Scroll one line down in display
PAGE UP Scroll one page up in display
PAGE DN Scroll one page down in display
BKSP Delete previous character
ESC Cancel current command
241
Page 242 is BLANK
242
APPENDIX D
Error Messages and Descriptions
This appendix lists and explains the error messages that can
be generated by Soft-ICE.
A General Protection Violation Has
Occurred. This is typically caused
by a protected mode instruction.
CS:IP = XXXX:XXXX
Type 'C' to Continue
Type 'R' to Return to Soft-ICE.
This message can occur either when an 80386
protected mode instruction is encountered or if there is
a segment wrap-around condition. You can often
determine the reason for this message by
un-assembling the instruction at the specified address.
If the first byte of the instruction is an 0FH, then it is
probably a protected mode instruction. If the
instruction is accessing a word at offset 0FFFFH in a
segment then it is a segment wrap problem. If you type
C to continue, then control is given to the interrupt 0
handler in the DOS virtual machine.
This message often occurs when a program jumps to an
address that does not contain valid code or when valid
code has been overwritten.
Attempt To Divide By 0
This message is displayed when Soft-ICE evaluates an
expression and the divisor in a divide operation is zero.
243
BPM Break Point Limit Exceeded
Soft-ICE allows a maximum of 4 memory break points.
This message is displayed ifyou attempt to exceed the
maximum limit.
Break Point Table Full
Soft-ICE allows a maximum of 16 break points. This
message is displayed if you attempt to exceed the
maximum limit.
Count Too Large
The Soft-ICE break point commands allow an optional
count field. This field can contain a maximum value of
FFH. This error message is displayed if the count
value specified is greater than FFH.
DOS Memory Structures Corrupted
This message is displayed if Soft-ICE detects a problem
with the DOS memory block chain when using the
MAP command. This message can also occur if you use
the MAP command with a non-DOS operating system.
Duplicate Break Point
When a break point is entered, Soft-ICE compares the
break point conditions with those of break points that
had been set previously. If the conditions match, this
message is displayed.
244
Interrupt Break Point Limit Exceeded
Soft-ICE allows a maximum of 10 interrupt break
points. This message is displayed if you attempt to
exceed the maximum limit.
Invalid Opcode Has Occurred
CS:IP =XXXX:XXXX
Type 'C' to Continue
Type 'R' to Return to Soft-ICE.
When the 80386 encounters an instruction that is
illegal, it generates an interrupt 6. Soft-ICE displays
this message and gives you the opportunity to continue
or to return to Soft-ICE. If you type C to continue,
then control is given to the interrupt 6 handler in the
DOS virtual machine.
This message often occurs when a program jumps to an
address that does not contain valid code or when valid
code has been overwritten.
I/O Break Point Limit Exceeded
Soft-ICE allows a maximum of 10 I/O break points.
This message is displayed if you attempt to exceed the
maximum limit.
No Alternate Screen
This message is displayed if the ALTSCR command is
used and Soft-ICE detects only one video adapter.
Parameter is Wrong Size
Certain fields require a specific data type size (byte,
word or double word). This message is displayed if the
245
data type size is exceeded. For example, if you use the
command 'BPMB 2000:2000 EQ 1234' you are asking
Soft-ICE to look for a byte access at location 2000:2000
with a value of 1234H. Since 1234H is larger than a
byte, the command causes this error message to occur.
Parameters Required
Most Soft-ICE commands require one or more
parameters. If a command is entered without the
required number of parameters, this message is
displayed.
Range Break Point Limit Exceeded
Soft-ICE allows a maximum of 10 memory range break
points. This message is displayed if you attempt to
exceed the maximum limit.
Second Parameter Must Be Greater than First
When specifying a memory range, the first number
entered must be the lower limit of the range, otherwise
this message is displayed.
Segment:Offset Can Not Wrap
Most Soft-ICE commands do not allow a memory
pointer (segment:offset) to wrap from high memory to
low. For example, the memory pointer FFFF:FFFF
wraps and is illegal. This message is displayed if you
attempt to wrap from high memory to low.
246
Soft-ICE cannot be loaded.
Needs to load at top of memory.
Load before any TSR's or control programs.
Soft-ICE needs to load itself at the highest memory
location possible. This memory is then 'mapped out',
making it invisible to DOS programs, so they can't
crash Soft-ICE. This message is displayed if Soft-ICE
detects that another program has already been loaded
at the top of memory.
Soft-ICE cannot run with other 80386 control programs
The 80386 only allows ore protected mode program
a time, so Soft-ICE can not coexist with other control
programs. When debugging a program that use EMS
and EEMS, you could get this error message when you
try to load Soft-ICE, because some 80386 systems come
with a control program that uses the 80386 paging
system to give you EMS and EEMS with a board that
only has extended memory. You can, however, use a
true expanded memory board to debug programs that
use EMS and EEMS.
Soft-ICE has already been loaded
This message occurs if you attempt to load Soft-ICE
twice.
Soft-ICE has not been loaded
This message occurs if you attempt to unload Soft-ICE
when it has not yet been loaded.
247
Soft-ICE loads at the top of extended memory. This may conflict with other
programs that use extended memory. If you are sure it will not conflict,
then answer 'Y', otherwise answer 'N' and refer to the chapter on loading
Soft-ICE with extended memory.
This message occurs if you attempt to load Soft-ICE
into extended memory, and S-ICE.SYS was not loaded
in your CONFIG.SYS file. This warning is given to
insure that you do not unintentionally wipe out a
virtual disk or another program that may be loaded in
extended memory. For more information, refer to
section 2.2, "Loading Soft-ICE" and chapter 6,
"Initialization Options".
Soft-ICE will only run on 80386 based machines
Soft-ICE requires Intel's 80386 microprocessor.
Syntax Error
This message is displayed if the information that was
entered did not fit within the structure of any Soft-ICE
command.
The P & G Commands Function In RAM Only
Soft-ICE uses two methods to implement the P and G
commands. The first method uses the 80386 break
point registers. However, if you have already set 4
BPM-style break points, Soft-ICE uses the INT 3
method, which will only work in RAM. If you attempt
to use the P or G commands in ROM at this point,
Soft-ICE detects this condition and displays this error
message.
248
Valid Verbs are R, W, RW, X
This message is displayed if an invalid verb is specified
in a BPM command. When using the BPM command,
the valid choices for verbs are R(read), W(write),
RW(read/write), and X(execute).
249
Page 250 is BLANK
250
APPENDIX E
TROUBLESHOOTING GUIDE
This appendix gives solutions to some possible problems that you could
encounter when using Soft-ICE. If you do not find the problem here, check
the README.SI file on your distribution diskette for any troubleshooting
hints that may not have made it into this manual.
Time does not show the correct time at the end of the day.
Soft-ICE does not let any interrupts go through to the
system when the Soft-ICE window is up. This does not
affect the real time clock at all, so the next time you
reboot, the time will be displayed correctly again. You
can also correct the time by running the program
UPTIME. This gets the time from the real time clock
and calls DOS to set the time.
When debugging a program that uses EMS and EEMS, you get this error
message when you try to load Soft-ICE "Soft-ICE cannot run with other
80386 control programs".
Some 386 systems come with a control program that
uses the 80386 paging system to give you EMS and
EEMS with a board that only has extended memory.
The 386 only allows one control program at a time, so
Soft-ICE can not coexist with these control programs.
You can, however, use a true expanded memory board
to debug programs that use EMS and EEMS.
Soft-ICE does not cause your software debugger to break.
Some software debuggers will break only when used
with one type of debugging interrupt. Refer to the
ACTION command in section 5.4. This lists three
different types of standard action that can be taken
251
when a break point happens. Try all three. Different
ones work better for different debuggers.
Soft-ICE does not come up when your monitor is in graphics mode, or it
does not restore your graphics screen correctly.
Soft-ICE does not use the ROM BIOS for its output,
it must go directly to the hardware. Soft-ICE was
designed to work with the following types of
controllers, or ones that are 100% compatible:
CGA
MDA
Hercules
EGA
VGA
If your controller is not one of these, or not 100%
compatible, you can use a second controller and
monitor, and use the ALTSCR command described in
section 5.9.
The key sequence used to bring up Soft-ICE conflicts with an existing
program that you are running.
You can set a different key sequence to bring up
Soft-ICE by using the ALTKEY command. If this
doesn't work, add the SHIFT key to the current key
sequence and use this new key sequence to bring up
the existing program. Soft-ICE will not respond to the
new key sequence, and will allow it to go through to the
existing program. Refer to the ALTKEY command in
section 5.8.
When your program crashes, Soft-ICE will not come up.
Refer to the BREAK command in section 5.4. This
command allows you to pop up the SoFt-ICE window
when the system is hung with interrupts disabled.
252
After your break point triggers your debugger, your debugger does not
respond.
There are two possible reasons why this problem could
occur:
1) Your debugger has caused DOS or ROM BIOS to
be re-entered. DOS and ROM BIOS are not fully
re-entrant, so your debugger may not work
correctly. Use the WARN command to turn
re-entrancy warning mode on. The next time DOS
or ROM BIOS is about to be re-entered, a warning
message will be displayed, and you will be able
choose to return to Soft-ICE to avoid the problem
Refer to the WARN command in section 5.4.
2) A break occurred in the middle of an interrupt
routine. Some debuggers can not handle this
occurrence. Use ACTION set to HERE, because
Soft-ICE will allow you to break in the middle of
an interrupt routine. Refer to the ACTION
command in section 5.4.
You are using a CGA monitor and you get lots of flickering when Soft-ICE
comes up.
Certain types of video cards will flicker if characters
are output without waiting for horizontal or vertical
retrace. To reduce the flickering, turn FLICK mode
ON. Refer to the FLICK command in section 5.9.
When you use the BOOT command, the system starts to reboot but then hangs.
Soft-ICE uses the interrupt 19 method of soft-booting.
There are two possible times when this method could
fail:
253
1) On a freshly booted system this method will work
fine. But if the system has been corrupted by an
errant program, there is a chance that this method
will not work.
2) Some programs that use extended or expanded
memory, such as EMS drivers or disk caches, are
not able to handle an interrupt 19 style boot.
When debugging device drivers and boot loaders
that have this problem, you should use the
following method. Boot the system without the
drivers that cause the problem; load Soft-ICE; set
up the drivers to load on the next boot; and then
use the BOOT command. Refer to the BOOT
command in section 5.3.
You just used the SYSREQ key sequence to bring up Soft-ICE, and your
system appears to be hung, or it begins to dump the screen to your
printer.
On some keyboards, you must press the ALT key and
the PrtSc key simultaneously to generate a system
request. If you accidentally press only the PrtSc key,
the system will attempt to print your screen. If no
printer is attached, your system will appear to be hung.
To avoid this problem, be careful to press both keys
simultaneously, or use the ALTKEY command to
change to a different key sequence. Refer to the
ALTKEY command in section 5.8.
You were unassembling instructions, or editing or displaying memory when
your debugger crashed.
You accessed an address that triggered a Soft-ICE
break point, and ACTION was not set to HERE.
When Soft-ICE brings you to the point where you want
to look around in memory with your debugger, you
should disable the Soft-ICE break points. If you don't
you could set off a break point unintentionally. This
254
would cause your debugger to trigger itself, which can
be a fatal problem with debuggers that cannot be
re-entrant.
After you exited from your debugger, the system crashed.
This problem of course could have many causes, but
one possible cause is that you may have forgotten to
disable the Soft-ICE break points, and ACTION is still
set to trigger your debugger. When the break point
occurs, ACTION will attempt to trigger your debugger,
but your debugger is no longer loaded.
You set a break point to trap on Interrupt 15H, function 87H, 88H, or 89H,
and the break point did not occur.
Soft-ICE processes these functions internally in
protected mode, so you cannot set break points on
these functions.
Your program does not accept keystrokes, but the keyboard is still active.
A shift state key may be logically stuck down. Try
pressing and releasing each shift, control and alt key.
Soft-ICE does not restore your graphics display properly.
Soft-ICE has an enhanced video virtualization mode
that can virtualize many special graphics modes. Turn
this mode on by entering WATCHV ON. See the
description of the WATCHV command for more
details. For non-compatible video controllers and
certain obscure modes you may have to use an
alternate monitor. See the ALTSCR command.
255
The machine locks up while you are in Soft-ICE or moving the Soft-ICE
window.
Soft-ICE has timing problems with some keyboards.
Use the NOLEDS statement in S-ICE.DAT. This
prevents Soft-ICE from sending LED commands to the
keyboard.
256